# 1. 首先安装 HanLP 最新版
# pip install hanlp

# 2. 导入 HanLP 并加载预训练模型
import hanlp

# 方式一：使用默认模型（速度快，适合一般场景）
tokenizer = hanlp.load(hanlp.pretrained.tok.COARSE_ELECTRA_SMALL_ZH)

# 方式二：使用细粒度分词模型（适合需要更精确分词的场景）
# tokenizer = hanlp.load(hanlp.pretrained.tok.FINE_ELECTRA_SMALL_ZH)

# 3. 进行分词操作
text = "HanLP可以在Python环境下轻松实现中文分词，欢迎体验最新2.0版本！"

# 标准分词模式
basic_result = tokenizer(text)
print("标准分词结果:", basic_result)

# 开启并行处理加速（长文本效果更明显）
fast_result = tokenizer(text, threads=4)
print("\n加速分词结果:", fast_result)

# 使用不同分词标准（需要加载对应模型）
ctb_tokenizer = hanlp.load(hanlp.pretrained.tok.CTB6_ELECTRA_SMALL)  # CTB6标准
pku_tokenizer = hanlp.load(hanlp.pretrained.tok.PKU_ELECTRA_SMALL)    # PKU标准

print("\nCTB6标准分词:", ctb_tokenizer(text))
print("PKU标准分词:", pku_tokenizer(text))

# 4. 处理文件或长文本（演示批量处理）
long_text = [
    "自然语言处理是人工智能的重要方向之一。",
    "HanLP提供包括分词、词性标注、命名实体识别等多项功能。",
    "该项目已获得超过2.8万GitHub星标。"
]

batch_result = tokenizer(long_text)
print("\n批量处理结果:")
for i, sent in enumerate(batch_result, 1):
    print(f"句子{i}: {sent}")

# 5. 自定义用户词典（临时添加）
with tokenizer.dictionary(temp_dict=["人工智能", "GitHub星标"]):
    custom_result = tokenizer(text + " " + long_text[-1])
    print("\n自定义词典结果:", custom_result)